package br.com.estevam.gallery.command;

import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Properties;

public class InsereImagemOld {

	public static void main(String[] args) throws Exception {
		// Valida a linha de comando
//		if (args.length != 2){
//			System.err.println("Uso: InsereImagem <arquivo> <desc>");
//			System.exit(-1);
//		}
		
		String nomeFile = "/home/ehsilva/java/projetos/gallery/src/main/java/br/com/estevam/gallery/command/MeuCartaoUbuntu.jpg";
		String nomeFoto = "Meu Cartao Ubuntu";
		
		// Lê a imagem para um byte[]
		File img = new File(nomeFile);
		byte[] imagem = new byte[(int) img.length()];
		System.out.println("Lendo " + img.length() + " bytes...");
		
		DataInputStream is = new DataInputStream(new FileInputStream(nomeFile));
		is.readFully(imagem);
		is.close();
		
		// Obtém parâmetros de conexão via arquivo de properiedades
		Properties parametrosConexão = new Properties();
		parametrosConexão.load(InsereImagemOld.class.getResourceAsStream("banco.properties"));
		String driver = parametrosConexão.getProperty("driver");
		String url = parametrosConexão.getProperty("url");
		String login = parametrosConexão.getProperty("login");
		String senha = parametrosConexão.getProperty("senha");
		
		// Conecta ao banco e insere a imagem
		Class.forName(driver);
		Connection con = DriverManager.getConnection(url,login,senha);
		String sql = "insert into imagens (nome, descricao, tamanho, imagem) values (?,?,?,?)";
		PreparedStatement stmt = con.prepareStatement(sql);
		stmt.setString(1, img.getName());
		stmt.setString(2, nomeFoto);
		stmt.setInt(3, (int) img.length());
		stmt.setObject(4, imagem);
		stmt.executeUpdate();
		
		// Finaliza o programa
		stmt.close();
		con.close();
		System.out.println("Imagem " + img.getName() + " acrescentada ao banco!");
	}
}
